<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Enumerated Values Level</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-SVD
   &#160;<span id="projectnumber">Version 1.10</span>
   </div>
   <div id="projectbrief">CMSIS System View Description</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
      <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
      <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
      <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
      <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
    </ul>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript" src="dynsections.js"></script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li><a href="modules.html"><span>Reference</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__svd__xml__enum__gr.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Enumerated Values Level</div>  </div>
<div class="ingroups"><a class="el" href="group__svd___format__gr.html">SVD File Schema Levels</a></div></div>
<div class="contents">
<div class="title">Enumerated Values</div><p> The concept of enumerated values creates a map between unsigned integers and an identifier string. In addition, a description string can be associated with each entry in the map.</p>
<pre>
        0 &lt;-&gt; disabled -&gt; "the clock source clk0 is turned off"
        1 &lt;-&gt; enabled  -&gt; "the clock source clk1 is running"
	</pre><p> This information is used for generating an <em>enum</em> in the device header file. The debugger may use this information to display the identifier string as well as the description. Just like symbolic constants making source code more readable, the system view in the debugger becomes more instructive. The detailed description can provide reference manual level details within the debugger.</p>
<hr/>
<pre>
<span class="mand">
<b>&lt;enumeratedValues <span class="opt">derivedFrom</span>=<em>"xs:Name"</em>&gt;</b>
<span class="opt">
    &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
    &lt;usage&gt;<em>usageType</em>&lt;/usage&gt;
</span>
    &lt;enumeratedValue&gt;
        ...
    &lt;/enumeratedValue&gt;
<span class="opt">
    ...
    &lt;enumeratedValue&gt;
        ...
    &lt;/enumeratedValue&gt;
</span>
<b>&lt;/enumeratedValues&gt;</b>
</span>
</pre><table  class="cmtable" summary="Enumerated Values Level Schema">
<tr>
<th>Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>derivedFrom </td><td>Makes a copy from a previously defined <em>enumeratedValues</em> section. No modifications are allowed. An <em>enumeratedValues</em> entry is referenced by its name. If the name is not unique throughout the description, it needs to be further qualified by specifying the associated field, register, and peripheral as required. For example: <pre>
	field:                           clk.dis_en_enum
	register + field:                ctrl.clk.dis_en_enum
	peripheral + register + field:   timer0.ctrl.clk.dis_en_enum
</pre>  </td><td>xs:Name </td><td>0..1  </td></tr>
<tr>
<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>name </td><td>Identifier for the whole enumeration section. </td><td>xs:Name </td><td>0..1  </td></tr>
<tr>
<td>usage </td><td>Possible values are <span class="XML-Token">read<em>,</em> write<em>, or</em> read-write</span>. This allows specifying two different enumerated values depending whether it is to be used for a read or a write access. If not specified, the default value <span class="XML-Token">read-write</span> is used. </td><td>enumUsageType </td><td>0..1  </td></tr>
<tr>
<td>enumeratedValue </td><td>Describes a single entry in the enumeration. The number of required items depends on the bit width of the associated field. See section below for details. </td><td nowrap="nowrap">&#160; </td><td>1..*  </td></tr>
</table>
<div class="title">Enumerated Value</div> <p>An <em>enumeratedValue</em> defines a map between an unsigned integer and a human readable string. <hr/>
 <pre>
<span class="mand">
<b>&lt;enumeratedValue&gt;</b></span></pre><pre><span class="mand">    &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
    <span class="opt">&lt;description&gt;<em>xs:string</em>&lt;/description&gt;</span></span></pre><pre><span class="mand">    &lt;choice&gt;
        &lt;value&gt;<em>scaledNonNegativeInteger</em>&lt;/value&gt;
        &lt;isDefault&gt;<em>xs:boolean</em>&lt;/isDefault&gt;
    &lt;/choice&gt;</span></pre><pre><span class="mand"><b>&lt;/enumeratedValue&gt;</b>
</span>
</pre><table  class="cmtable" summary="Enumerated Value">
<tr>
<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>name </td><td>String describing the semantics of the value. Can be displayed instead of the value. </td><td>identifierType </td><td>0..1  </td></tr>
<tr>
<td>description </td><td>Extended string describing the value. </td><td>xs:string </td><td>0..1  </td></tr>
<tr class="choice">
<td colspan="3"><em>choice of</em> </td><td>1..1  </td></tr>
<tr class="choice">
<td align="right">value </td><td>Defines the constant of the bit-field that the name corresponds to. </td><td nowrap="nowrap">scaledNonNegativeInteger </td><td>0..1  </td></tr>
<tr class="choice">
<td align="right">isDefault </td><td>Defines the name and description for all other values that are not listed explicitly. </td><td>xs:boolean </td><td>0..1  </td></tr>
</table>
<h2><a class="anchor" id="enum_ex2"></a>
Example:</h2>
<div class="fragment"><pre class="fragment">&lt;enumeratedValues&gt;

    &lt;name&gt;TimerIntSelect&lt;/name&gt;
    &lt;usage&gt;read-write&lt;/usage&gt;

    &lt;enumeratedValue&gt;
        &lt;name&gt;disabled&lt;/name&gt;
        &lt;description&gt;The clock source clk0 is turned off.&lt;/description&gt;
        &lt;value&gt;0&lt;/value&gt;
    &lt;/enumeratedValue&gt;

    &lt;enumeratedValue&gt;
        &lt;name&gt;reserved&lt;/name&gt;
        &lt;description&gt;Reserved values. Do not use.&lt;/description&gt;
        &lt;isDefault&gt;<span class="keyword">true</span>&lt;/isDefault&gt;
    &lt;/enumeratedValue&gt;

&lt;/enumeratedValues&gt;
</pre></div> <div class="fragment"><pre class="fragment">&lt;enumeratedValues&gt;

    &lt;name&gt;TimerIntSelect&lt;/name&gt;
    &lt;usage&gt;read-write&lt;/usage&gt;

    &lt;enumeratedValue&gt;
        &lt;name&gt;disabled&lt;/name&gt;
        &lt;description&gt;Timer does not generate interrupts.&lt;/description&gt;
        &lt;value&gt;0&lt;/value&gt;
    &lt;/enumeratedValue&gt;

    &lt;enumeratedValue&gt;
        &lt;name&gt;enabled&lt;/name&gt;
        &lt;description&gt;Timer generates interrupts.&lt;/description&gt;
        &lt;isDefault&gt;<span class="keyword">true</span>&lt;/isDefault&gt;
    &lt;/enumeratedValue&gt;

&lt;/enumeratedValues&gt;
</pre></div> </div>
</div>
  <div id="nav-path" class="navpath">
    <ul>

    <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
    <!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
    -->
    </li>
   </ul>
 </div>


</body>
</html>
